package com.smarthome.domain.mobile;

public enum MobileCodeEnum {
    /** 系统错误 ***/
    SYSTEM_ERROR("system_error", "系统错误"),
    /** 失败 */
    SYSTEM_FALSE("false", "不通过"),
    /** 没有找到命令 ***/
    COMMAND_NOT_FOUND("command_not_found", "命令没找到"),
    /** 未查询到工控机 ***/
    DEVICE_NO_MAIN("device_no_main", "未查询到工控机"),
    /** 未查询到工控机登录信息 ***/
    DEVICE_NO_SESSION("device_no_session", "未查询到工控机登录信息"),
    /**** 无法得到设备类型 ***/
    DEVICE_NO_CODE("device_no_code", "无法得到设备类型"),
    /**** 设备操作成功 ***/
    DEVICE_SUCCESS_DO("ok", "设备操作成功"),
    /**** 设备操作失败 ***/
    DEVICE_FAIL_DO("device_fail_do", "设备操作失败"),
    /**** 未得到设备id ***/
    DEVICE_NO_ID("device_no_id", "未得到设备id"),
    /**** 未得到设备信息 ***/
    DEVICE_NO_INFO("device_no_info", "未得到设备信息"),
    /**** 未得到门口机设备信息 ***/
    DEVICE_NO_MKJINFO("device_no_info", "未得到门口机设备信息"),
    /** 登录名已存在 */
    ACCOUNT_NAME_EXIST("account_name_exist", "登录名%s已存在"),
    /** 注册成功 */
    ACCOUNT_REG_SUC("ok", "注册成功"),
    /** 登录成功 */
    ACCOUNT_LOGIN_SUC("ok", "登录成功"),
    /** 登录失败 */
    ACCOUNT_LOGIN_FAIL("account_login_fail", "登录失败"),
    /** 请登录 */
    ACCOUNT_LOGIN_NEED("account_login_need", "请登录"),
    /** 验证码过期 */
    ACCOUNT_CKCODE_EXPIRED("ckcode_expired", "验证码已过期"),
    /** 用户还未生成验证码 */
    ACCOUNT_CKCODE_NOT_EXIST("ckcode_not_exist", "该用户没有验证码"),
    /** 验证码不正确 */
    ACCOUNT_CKCODE_ERR("ckcode_err", "验证码不正确"),
    /** 必要字段不完整 ***/
    ACCOUNT_NOT_FULL("account_not_full", "必要字段不完整"),
    /** 物业服务-未得到顾客id */
    PROPERTY_SERVICE_NOT_ACCOUNT("property_service_not_account", "未得到顾客id"),
    /** 用户消息-未得到接收人id */
    ACCOUNT_MESSAGE_NOT_RECIEVERID("account_meesage_not_recieverid", "未得到接收人id"),
    /** 物业服务-未得到报修类型id */
    PROPERTY_SERVICE_NOT_TYPE("property_service_not_type", "未得到报修类型id"),
    /** 物业服务-未得到报修内容 */
    PROPERTY_SERVICE_NOT_CONTENT("property_service_not_content", "未得到报修内容"),
    /** 物业服务-添加失败 */
    PROPERTY_SERVICE_ADD_FAIL("property_service_add_fail", "物业服务添加失败"),
    /** 物业服务反馈-未得到报修id */
    PROPERTY_SERVICE_FEEDBACK_NOT_SERVICE("property_service_feedback_not_service", "未得到报修id"),
    /** 物业服务反馈-未得到顾客id */
    PROPERTY_SERVICES_FEEDBACK_NOT_ACCOUNT("property_services_feedback_not_account", "未得到顾客id"),
    /** 物业服务反馈-未得到反馈内容 */
    PROPERTY_SERVICES_FEEDBACK_NOT_CONTENT("property_services_feedback_not_content", "未得到反馈内容"),
    /** 物业服务反馈-添加失败 */
    PROPERTY_SERVICES_FEEDBACK_ADD_FAIL("property_services_feedback_add_fail", "物业服务反馈添加失败"),
    /** 用户消息-未得到消息id */
    ACCOUNT_MESSAGE_NOT_ID("account_meesage_not_id", "未得到消息id"),
    /** 用户消息-更新失败 */
    ACCOUNT_MESSAGE_UPDATE_FAIL("account_meesage_update_fail", "用户消息更新失败"),
    /** 用户消息-删除失败 */
    ACCOUNT_MESSAGE_DEL_FAIL("account_meesage_del_fail", "用户消息删除失败"),
    /** 旧密码不正确 */
    ACCOUNT_OLDPWD_NOTCORRECT("account_oldpwd_notcorrect", "旧密码不正确"),
    /** 未找到用户信息 */
    ACCOUNT_NOT_FOUND("account_not_found", "未找到用户信息"),
    /** 没有找到该物业费 */
    PROPERTY_FEE_NOT_FOUND("property_fee_not_found", "没有找到需要缴纳的物业费"),
    /** 移动端分页到最后一页 */
    // PAGE_NOTSHOW("page_noteshow","没有可显示的信息"),
    /** 门牌下用户已存在 */
    ACCOUNT_HOUSE_EXIST("account_house_exist", "门牌下用户已存在"),
    /** 门牌下业主已存在 */
    ACCOUNT_HOUSE_OWNER_EXIST("account_house_owner_exist", "门牌下业主已存在"),
    /** 门牌用户已存在 */
    NOT_LOGIN_OPTION("not_login_option", "未登录，禁止访问。"),
    /** 访问受限 */
    VISIT_RESTRICT("visit_restrict", "访问受限"),

    /** 小区消息提示模块 */
    RESIDENCE_MSG("residence_msg", ""),

    /** 设备处理--消息提示模块 */
    DEVICE_MSG("device_msg", ""),

    /** 智能家居-未得到智能家居id */
    SMART_HOME_NOT_ID("smart_home_not_id", "未得到智能家居id"),

    /** 智能家居-未得到门牌号 */
    SMART_HOME_NOT_DOOR("smart_home_not_door", "未得到门牌号"),

    /** 智能家居-修改失败 */
    SMART_HOME_UPDATE_FAIL("smart_home_update_fail", "智能家居修改失败"),
    /** 验证码类型错误 */
    CKCODE_TYPE_ERR("ckcode_type_error", "验证码类型错误"),
    /** 通用成功返回 */
    COMMON_SUCCESS("ok", ""),

    /** 门牌-未得到用户id */
    DOOR_NOT_ACCOUNT("door_not_account", "未得到用户id"),
    /** 门牌-未得到小区id */
    DOOR_NOT_RESIDENCE("door_not_residence", "未得到小区id"), 
  
    /**未得到楼栋id**/
    NOT_BUILDINGID("not_building_id", "未得到楼栋id"), 
    /**未得到单元id**/
    NOT_BUILDINGUNITID("not_buildingUnit_id", "未得到单元id"), 
    /** 门牌-未得到门牌id */
    DOOR_NOT_DOORID("door_not_doorid", "未得到门牌id"), 
    
    /*****未得到ddns信息****/
    DDNS_NOT("ddns_not", "未得到ddns信息"), 
    
    SMS_SEND_EXCEPTION("sms_send_exception", ""), 
    SMS_SEND_ERROR("sms_send_error", "短信发送失败"),
    
    /***订单编号***/
    ORDERS_ID("orders_id", "未得到订单编号"),
    
    
    /** 订单-未得到发件人id*/
    ORDERS_NOT_SRCACCOUNT("orders_not_srcaccount", "未得到发件人id"),
    /** 订单-未得到发件人手机号码*/
    ORDERS_NOT_SRCACCOUNT_MOBILE("orders_not_srcaccount_mobile", "未得到发件人手机号码"),
    /** 订单-未得到小区id*/
    ORDERS_NOT_RESIDENCE("orders_not_residence", "未得到小区id"),
    /** 订单-未得到收件人姓名*/
    ORDERS_NOT_DESACCOUNT_NAME("orders_not_desaccount_name", "未得到收件人姓名"),
    /** 订单-未得到收件人手机号码*/
    ORDERS_NOT_DESACCOUNT_MOBILE("orders_not_desaccount_mobile", "未得到收件人手机号码"),
    /** 订单-未得到收件人区域*/
    ORDERS_NOT_DESACCOUNT_AREA_ID("orders_not_desaccount_area_id", "未得到收件人区域"),
    /** 订单-未得到收件人地址*/
    ORDERS_NOT_DESACCOUNT_AREA_DETAIL("orders_not_desaccount_area_detail", "未得到收件人地址"),
    /** 订单-未得到发件人地址*/
    ORDERS_NOT_SRCACCOUNT_AREA_DETAIL("orders_not_srcaccount_area_detail", "未得到发件人地址"),
    /** 订单-未选择快递类型*/
    ORDERS_NOT_COURIERTYPE("orders_not_couriertype", "未选择快递类型"),
    /** 订单-未选择快递公司*/
    ORDERS_NOT_COURIERCOMPANY("orders_not_couriercompany", "未选择快递公司"),
    /** 订单-下单失败*/
    ORDERS_ADD_FAIL("orders_add_fail", "下单失败"),
    /** 订单-订单更改失败*/
    ORDERS_UPDATE_FAIL("orders_update_fail", "订单更改失败"),
    /** 订单-状态获取失败*/
    ORDERS_NOT_STATUS("orders_not_status", "订单状态获取失败"),
	

    /** 订单-费用获取失败*/
    ORDERS_NOT_FEE("orders_not_fee", "订单费用获取失败"),
    
    /** 订单-重量获取失败*/
    ORDERS_NOT_WEIGHT("orders_not_weight", "订单重量获取失败"),
    
    /** 洗衣物数量*/
    ORDERS_WISH_NUM("orders_wish_num", "未得到衣物数量"),
    
    
    /** 洗衣店*/
    ORDERS_WISH_SHOP("orders_wish_shop", "未选择洗衣店"),
    
    /**订单备注**/
    ORDERS_REMARK("orders_remark", "订单备注"),
    
    /**订单-费用关联失败**/
    ORDERS_REL_FEE("orders_rel_fee", "订单-费用关联失败"),
    
	/** 快递点-未得到小区id*/
    EXPRESS_NOT_RESIDENCE("express_not_residence", "未得到小区id"),
    /** 洗衣店-未得到小区id*/
    LAUNDRY_NOT_RESIDENCE("laundry_not_residence", "未得到小区id"),
    
    /** 订单费用-未得到服务点id*/
    ORDERFEE_NOT_COMPANY("orderfee_not_company", "未得到服务点id"),
    /** 订单不存在*/
    ORDERS_NOT_EXISTS("orders_not_exists", "订单不存在"),
    /** 订单已经支付*/
    ORDERS_IS_PAID("orders_is_paid", "订单已经支付"),
    /** 用户取件历史地址添加失败*/
    SRC_AREA_DETAIL_ADD("src_area_detail_add","用户取件历史地址添加失败"),
    /** 用户取件历史地址删除失败*/
    SRC_AREA_DETAIL_DELETE("src_area_detail_delete","用户取件历史地址删除失败"),
    /** 获取用户取件历史地址id失败*/
    SRC_AREA_DETAIL_ID("src_area_detail_id","获取用户取件历史地址id失败")
    ;

    private String code;
    private String msg;
    private String currentMsg;

    private MobileCodeEnum(String code, String msg) {
        this.code = code;
        this.currentMsg = msg;
        this.msg = msg;
    }

    public String getCode() {
        return code;
    }

    public String getMsg() {

        return msg;
    }

    public MobileCodeEnum getCustomEnum(String custom) {
        if (null == custom) {
            custom = "";
        }
        this.msg = this.currentMsg;
        this.msg = this.msg + custom;
        return this;
    }

    public static MobileCodeEnum getByCode(String code) {
        for (MobileCodeEnum subEnum : values()) {
            if (subEnum.getCode().equals(code)) {
                return subEnum;
            }
        }
        throw new IllegalArgumentException("none-defined IpcCodeEnum,code:" + code);
    }

}
